1. Field of the Invention
Embodiments of the present invention generally relate to a data protection system and, more importantly, to a method and apparatus for processing transactional file systems operations to provide point in time consistent file data to support file data recovery and replication from transactional file system.
2. Description of the Related Art
In a typical computing environment, one or more computing devices use a variety of resources to process and store file data. For example, employees within a large organization use computers, data storage devices, networking components and/or the like for performing the day-to-day activities. The employees may store the file data in the data storage devices in the form of data volumes for retrieval at a later date. Occasionally, the file data in the data volumes becomes corrupted or erroneous and a previous storage state of the file data is needed to avoid a disruption in the day-to-day activities of the organization.
Many organizations use a variety of data protection systems to preserve storage states of the data volumes in case of a disaster. For example, a snapshot of the data volume at a particular point-in-time may be captured through a snapshot service in order to facilitate recovery of lost or corrupted data (e.g., files, emails and/or the like). In other words, the snapshot is a representation of a storage state of the data volume at the particular point-in-time. Furthermore, a continuous data protection system is configured to recreate any version of a file existing at any point-in-time using the captured snapshot and a log or journal of input/output activity for that file.
The data volumes may be organized into files and directories (i.e., a file system, such as File Allocation Table (FAT), New Technology File System (NTFS)). For example, the data volumes may be organized in accordance with a transactional file system, such as Transactional NTFS. Generally, a transactional file system volume is fault-tolerant and consistent. A transaction can either be finished completely (e.g., a committed transaction) or reverted completely (e.g., a rolled back transaction), but not necessarily both at any given point in time. This means that if there is a crash or power failure, after recovery, the storage state of the data volume will be consistent. A significant amount of computing overhead, however, is required to maintain data consistency.
Current data protection systems are unable to restore or replicate file data associated with a transaction that was in progress during the snapshot of the data volume. For example, mounting a snapshot causes any in progress (i.e., incomplete) transactions to be rolled back. As such, the snapshot does not include file data that is point in time consistent. Hence, the use of transactions prevents the data protection software from recreating point in time consistent file data from the snapshot. In addition, the file data may only be replicated or recovered to a data volume that supports transactional file systems. Transactional file system operations cannot be played on a non-transactional file system.
Therefore, there is a need in the art for a method and apparatus for processing transactional file system operations to enable point in time consistent file data recreation and recovery from transactional file systems.